package com.cicigodd.brick.plug.system.role.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cicigodd.brick.plug.common.response.PageResult;
import com.cicigodd.brick.plug.system.role.api.SysRoleUserServiceApi;
import com.cicigodd.brick.plug.system.role.entity.SysRoleUser;
import com.cicigodd.brick.plug.system.role.request.SysRoleUserAddRequest;
import com.cicigodd.brick.plug.system.role.request.SysRoleUserDeleteRequest;
import com.cicigodd.brick.plug.system.role.request.SysRoleUserDetailRequest;
import com.cicigodd.brick.plug.system.role.request.SysRoleUserEditRequest;
import com.cicigodd.brick.plug.system.role.request.SysRoleUserListRequest;
import com.cicigodd.brick.plug.system.role.response.SysRoleUserDetailResponse;
import com.cicigodd.brick.plug.system.role.response.SysRoleUserListResponse;
import java.util.List;

/**
 * 角色用户关联
 *
 * @author cicigodd
 * @date 2022/12/12 15:52:23
 */
public interface SysRoleUserService extends IService<SysRoleUser>, SysRoleUserServiceApi  {

    /**
     * 添加
     *
     */
    void add(SysRoleUserAddRequest sysRoleUserAddRequest);

    /**
     * 删除
     *
     */
    void delete(SysRoleUserDeleteRequest sysRoleUserDeleteRequest);

    /**
     * 编辑
     *
     */
    void edit(SysRoleUserEditRequest sysRoleUserEditRequest);

    /**
     * 详情
     *
     */
    SysRoleUserDetailResponse detail(SysRoleUserDetailRequest sysRoleUserDetailRequest);

    /**
     * 分页列表
     *
     */
    PageResult<SysRoleUserListResponse> list(SysRoleUserListRequest sysRoleUserListRequest);

    void deleteByUserId(Integer userId);

    List<Integer> getRoleIdsByUserId(Integer userId);
}